home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 010 / blit.arc / LBBLT.C < prev    next >
Text File  |  1985-05-23  |  1KB  |  44 lines

  1. /*
  2.  * name:         lbblt
  3.  *
  4.  * description: given a layer l, a rectangle r, a bitmap db, a bitmap sb,
  5.  *              a function code f and an obscured list o, bitblt using
  6.  *              the function code f, the rectangular area r from sb into db.
  7.  *
  8.  * synopsis:     lbblt (l, r, db, o, sb, hb, dp, f)
  9.  *              struct layer    *l;
  10.  *              struct rectangle    *r;
  11.  *              struct bitmap   *db;
  12.  *              struct obscured *o;
  13.  *              struct bitmap   *sb;
  14.  *              struct bitmap   *hb;
  15.  *              struct point    *dp;
  16.  *              int     *f;
  17.  *
  18.  * globals:      none.
  19.  *
  20.  * calls:
  21.  *              bitblt   (bitblt.c)
  22.  *
  23.  * called by:    rlayerop  (rlayerop.c)
  24.  */
  25. #include "layers.h"
  26.  
  27. lbblt (l, r, db, o, sb, hb, dp, f)
  28. struct layer  *l;
  29. struct rectangle  *r;
  30. struct bitmap *db;                     /* destination bitmap */
  31. struct obscured *o;
  32. struct bitmap *sb;                     /* source bitmap */
  33. struct bitmap *hb;                     /* halftone bitmap */
  34. struct point  *dp;
  35. int   *f;                              /* function code */
  36. {
  37.    struct rectangle  pr;
  38.    pr.origin.x = (r -> origin.x) - (dp -> x);
  39.    pr.origin.y = (r -> origin.x) - (dp -> y);
  40.    pr.corner.x = (r -> corner.x) - (dp -> x);
  41.    pr.corner.y = (r -> corner.x) - (dp -> y);
  42.    (void) bitblt (sb, &pr, db, &(r -> origin), hb, *f);
  43. }
  44.